<?php

namespace IDock\Printer\Premium;

use IDock\Printer\BasePrinter;
use IDock\Printer\NonCar\NonCarInquiryPrinter;
use IDock\Printer\NonCar\NonCarProductListPrinter;
use IDock\Printer\SpecialClausesPrinter;
use IDock\Printer\VehiclePrinter;

class PremiumInquiryPrinter extends BasePrinter
{

    /**
     * 报价状态
     * @var bool $status
     */
    public $success = true;

    public $validateCar = false;

    /**
     * 是否重复投保
     * @var string $repeatInsuredFlg
     */
    public $repeatInsuredFlg = '';

    /**
     * 重复投保信息
     * @var string $repeatInsureData
     */
    public $repeatInsurePrinter = [
        'biStartData' => '',
        'ciStartData' => '',
    ];

    /**
     * 重复投保提示
     * @var string $repeatMessage
     */
    public $repeatMessage = '';

    /**
     * 是否新能源
     * @var bool $isNewEnergy
     */
    public $isNewEnergy = false;

    /**
     * 总询价单号
     * @var string $inquiryNo
     */
    public $inquiryNo = '';

    /**
     * 商业险询价单号
     * @var string $biInquiryNo
     */
    public $biInquiryNo = '';

    /**
     * 交强险询价单号
     * @var string $ciInquiryNo
     */
    public $ciInquiryNo = '';

    /**
     * 商业险询价信息
     * @var PremiumBIPrinter $biPremiumPrinter
     */
    public $biPremiumPrinter;

    /**
     * 车船税询价信息
     * @var PremiumTaxPrinter $carTaxPrinter
     */
    public $carTaxPrinter;

    /**
     * 交强险询价信息
     * @var PremiumCIPrinter $ciPremiumPrinter
     */
    public $ciPremiumPrinter;

    /**
     * 系数
     * premiumFactorPrinter
     * @var PremiumFactorPrinter $premiumFactorPrinter
     */
    public $premiumFactorPrinter;

    /**
     * 非车产品数据
     * NonCarProductListPrinter
     * @var  $NonCarProductListPrinter NonCarProductListPrinter
     */
    public $nonCarProductListPrinter;

    /**
     * 非车询价数据
     * nonCarInquiryPrinter
     * @var $nonCarInquiryPrinter NonCarInquiryPrinter
     */
    public $nonCarInquiryPrinter;

    /**
     * NCD 无赔款优待系数
     * @var string $ncdFactor
     */
    public $ncdFactor = '';

    /**
     * 业务类型
     * @var string $businessType
     */
    public $businessType = '';

    /**
     * 商业险险种
     * @var array $coverageList
     */
    public $coverageList = [];

    /**
     * 询价车型
     * @var array $modelList
     */
    public $vehicleModelList = [];

    /**
     * 特约
     * @var array $specialClausesList
     */
    public $specialClausesList = [];

    public function __construct()
    {
        $this->ciPremiumPrinter = new PremiumCIPrinter();
        $this->biPremiumPrinter = new PremiumBIPrinter();
        $this->carTaxPrinter = new PremiumTaxPrinter();
        $this->premiumFactorPrinter = new PremiumFactorPrinter();
        $this->nonCarInquiryPrinter = new NonCarInquiryPrinter();
        $this->nonCarProductListPrinter = new NonCarProductListPrinter();
    }


    /**
     * 险种添加
     * @param PremiumCoveragePrinter $premiumCoveragePrinter
     * @return void
     */
    public function coverageListAppend(PremiumCoveragePrinter $premiumCoveragePrinter)
    {
        $this->coverageList[] = $premiumCoveragePrinter;
    }

    /**
     * 车型添加
     * @param VehiclePrinter $vehiclePrinter
     * @return void
     */
    public function vehicleModelAppend(VehiclePrinter $vehiclePrinter)
    {
        $this->vehicleModelList[] = $vehiclePrinter;
    }

    /**
     * 特约添加
     * @param SpecialClausesPrinter $specialClausesPrinter
     * @return void
     */
    public function specialClausesAppend(SpecialClausesPrinter $specialClausesPrinter)
    {
        $this->specialClausesList[] = $specialClausesPrinter;
    }

    /**
     * 拓展信息
     * @var string $extInfo
     */
    public $extInfo = '';

    /**
     * 后传其他参数
     * @var array $argc
     */
    public $argc = [];
}
